package com.yantong.service;


import com.yantong.pojo.MemberCart;
import com.yantong.pojo.PageDO;
import com.yantong.pojo.vo.MemberCartVo;

import java.util.List;
import java.util.Map;

/**
 * 购物车服务
 * @author kanghaixin
 * @date 2018/9/11.19:50
 */
public interface MemberCartService {
    /**
     * 购物车添加项目
     * @param item
     * @return
     */
    int saveItem(MemberCart item);
    int saveRedis(MemberCart item);

    /**
     * 购物车移除项目
     * @param itemId
     * @return
     */
    int removeItem(Long itemId);
    void removeItemRedis(Long memberId, Long centreId, String itemId, Integer isKuaidi);

    /**
     * 编辑购物车项目(无用)
     * @param item
     * @return
     */
    int editCart(MemberCart item);
    int editCartRedis(MemberCartVo item);

    /**
     * 购物车项目列表(无用)
     * @param mid
     * @param offset
     * @param limit
     * @return
     */
    PageDO<MemberCart> listCartItems(Long mid, int offset, int limit);

    /**
     * 获取购物车商品数量总数(无用)
     * @param mid
     * @return
     */
    int countTotal(Map<String, Object> params);
    int countTotalRedis(Long memberId, Long centreId);
    /**
     * 购物车项目列表-baolingyu
     * @param memberId
     * @param offset
     * @param limit
     * @return
     */
	PageDO<MemberCartVo> listMemberCar(Long memberId, Long centreId, Integer offset, Integer limit);
	PageDO<MemberCartVo> listMemberCarRedis(Long memberId, Long centreId, Integer offset, Integer limit);
    PageDO<MemberCartVo> listMemberCarRedis(Long memberId, Long centreId, Long productId, Integer offset, Integer limit);

	/**
	 * 得到购物车中所有下架的商品(无用)
	 * @return
	 */
	List<MemberCartVo> getMemCarList();
	
	/**
	 * 批量删除购物车(无用)
	 * @param ids
	 * @return
	 */
	int removeMemCar(List<MemberCartVo> ids);
}
